The Design , Implementation , and Evaluation of
نویسندگان
چکیده
Jade is a portable, implicitly parallel language designed for exploiting task-level concurrency. Jade programmers start with a program written in a standard serial, imperative language, then use Jade constructs to declare how parts of the program access data. The Jade implementation uses this data access information to automatically extract the concurrency and map the application onto the machine at hand. The resulting parallel execution preserves the semantics of the original serial program. We have implemented Jade as an extension to C, and Jade implementations exist for shared-memory multiprocessors, homogeneous message-passing machines, and heterogeneous networks of workstations. In this article we discuss the design goals and decisions that determined the nal form of Jade and present an overview of the Jade implementation. We also present our experience using Jade to implement several complete scientiic and engineering applications. We use this experience to evaluate how the diierent Jade language features were used in practice and how well Jade as a whole supports the process of developing parallel applications. We nd that the basic idea of preserving the serial semantics simpliies the program development process, and that the concept of using data access speciications to guide the parallelization ooers signiicant advantages over more traditional control-based approaches. We also nd that the Jade data model can interact poorly with concurrency patterns that write disjoint pieces of a single aggregate data structure, although this problem arises in only one of the applications. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for proot or direct commercial advantage and that copies show this notice on the rst page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior speciic permission and/or a fee. Permissions may be requested from Publications 1. INTRODUCTION Programmers have traditionally developed software for parallel machines using explicitly parallel systems Lusk et al. 1987; Sunderam 1990]. These systems provide constructs that programmers use to create parallel tasks. On shared-memory machines the programmer synchronizes the tasks using low-level primitives such as locks, condition variables, and barriers. …
منابع مشابه
Instructional Design, Implementation, and Evaluation of an E-Learning System, an Experience in Tehran University of Medical Sciences
Introduction: Designing e-learning systems based on the principles and prerequisites of teaching and learning theories requires a comprehensive and systematic approach to instructional design procedure. An experience of instructional design, implementation and evaluation of an e-learning system is represented in this study. Methods: In the present action research study, five steps of systemati...
متن کاملDesign and implementation of the performance evaluation system for Units (Saeb system)
This article has no abstract.
متن کاملDesign, implementation and evaluation of faculty empowerment program in the field of virtual education the document the transformation and innovation of Medical education an application of the Harden curriculum planning model
This article has no abstract.
متن کاملDesign, implementation and evaluation Operational Program for Improving the Quality of Basic Clinical Skills in Nursing and Emergency Medicine Students based on Kern method
متن کامل
Design, implementation, and evaluation of principles of writing biomedical research paper course
Introduction: Graduate (PhD) students in medical sciences, who will formfuture faculties and investigators in Iran’s Universities of Medical Sciences, are not trained on scientific writing during their training. The present study describes the design, implementation, and evaluation of Principles of Writing Biomedical Research Paper course.Methods: The course, prepared based on an extensive sear...
متن کاملDesign, Implementation and Evaluation of Software to Increase Users’ Awareness and Facilitate the Identification of the Most Appropriate Centers Providing Laboratory Services in Tehran Province
Background and Aim: Medical diagnostic laboratories are among the most important centers in the treatment cycle of patients. Today, the conscious choice of such laboratories is one of the challenges that patients face in the treatment process. This study was conducted with the aim of improving the knowledge of software users in the field of laboratory sciences and also facilitating the consciou...
متن کامل